package cn.kgc.springday03.converter;

import org.springframework.core.convert.converter.Converter;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author 课工场
 * @date 2023/10/8
 * @description   自定义数据类型转换器    String   ->   Date
 * Converter<String, Date>  支持泛型  第一个泛型表示原始值  第二个泛型代表 最终转换类型
 * ()->{}  lambda表达式 基本语法结构
 */
public class MyDateConverter implements Converter<String, Date> {

    private String pattern;

    public void setPattern(String pattern) {
        this.pattern = pattern;
    }

    @Override
    public Date convert(String source) {

        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
        Date date = null;
        try {
            date = simpleDateFormat.parse(source);
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
        return date;
    }
}
